Open
Conversation
spajic
approved these changes
Mar 24, 2019
Owner
spajic
left a comment
There was a problem hiding this comment.
Аппрув + пара комментов.
Хорошо, что вы подробно написали отчёт, действительно понятно, как принимали решения.
Но надо стараться начинать не с 4-5 места в отчёте, а с 1го.
Иногда для этого надо немного подрефачить код, но эффект заведомо будет больше.
|
|
||
| ## Асимптотика | ||
|
|
||
| Для упрощения работы с данными подготовил программу `preparing-data.rb`, которая генерит данные нескольких размеров (1mb, 4Mb, 10Mb и оригинальный файл) из архива. |
| ### Ваша находка №X | ||
| О вашей находке №X | ||
| По отчету видно что второе место по затратам занимает метод `Array#include?`, который используется при формировании массива с сессиями юзеров. | ||
| При анализе исходного кода видно, что мы можем использовать `SortedSet`, так как это нам даст выигрыш в скорости при поиске элемента в массиве и не будет необходимости сортировать массив для статистики. |
|
|
||
| ### Ваша находка №3 | ||
|
|
||
| Пятое место при профилировании с помощью `RubyProf::CPU_TIME` занимает преобразование `hash` в `json`. |
Owner
There was a problem hiding this comment.
Можно было бы выиграть больше, начиная с первого!
По отчёту просто не понятно, что именно там за Array#each, но я показывал на 2й лекции, как с этим побороться.
Можно отрефачить все вызовы each в именованные методы, и тогда отчёт покажет, кто же конкретно на первом месте.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.